#pragma once

#include <util_usb_desc.h>

// ACM功能描述符
typedef struct {
	usb_desc_base_sub_t base; // 带sub_type的描述符头
	u8_s spt_comm_feat : 1;	  // 是否支持SET_COMM_FEATURE等控制请求
	u8_s spt_line : 1;	  // 是否支持串行线路配置（如波特率设置）
	u8_s spt_send_brk : 1;	  // 是否支持发送BREAK信号
	u8_s spt_net_notif : 1;	  // 是否支持网络连接状态通知
	u8_s : 4;		  // 保留为0
} __attribute__((packed)) usb_desc_cdc_acm_t;

_Static_assert(sizeof(usb_desc_cdc_acm_t) == 4,
	       "Struct usb_desc_cdc_acm_t defined error!");
